var StuInfoDlg = {
    stuInfoData: {},
    validateFields: {
        stuName: {
            validators: {
                notEmpty: {
                    message: '姓名不能为空'
                }
            }
        },
        grade: {
            validators: {
                notEmpty: {
                    message: '入学年度不能为空'
                }
            }
        },
        school: {
            validators: {
                notEmpty: {
                    message: '学校不能为空'
                }
            }
        },
        major: {
            validators: {
                notEmpty: {
                    message: '专业不能为空'
                }
            }
        },
        region: {
            validators: {
                notEmpty: {
                    message: '地区不能为空'
                }
            }
        },
        contact: {
            validators: {
                notEmpty: {
                    message: '联系方式不能为空'
                }
            }
        },
        qq: {
            validators: {
                notEmpty: {
                    message: 'QQ不能为空'
                }
            }
        },
        address: {
            validators: {
                notEmpty: {
                    message: '地址不能为空'
                }
            }
        },
        workstate: {
            validators: {
                notEmpty: {
                    message: '工作情况不能为空'
                }
            }
        }
    }
};

/**
 * 清除数据
 */
StuInfoDlg.clearData = function () {
    this.stuInfoData = {};
};

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
StuInfoDlg.set = function (key, val) {
    this.stuInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
    return this;
};

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
StuInfoDlg.get = function (key) {
    return $("#" + key).val();
};

/**
 * 关闭此对话框
 */
StuInfoDlg.close = function () {
    parent.layer.close(window.parent.Stu.layerIndex);
};

/**
 * 收集数据
 */
StuInfoDlg.collectData = function () {
    this.set('stuid').set('grade').set('sex').set('school').set('major')
        .set('region').set('stuName').set('qq').set('address').set('contact').set('workstate').set('acts');
};
/**
 * 验证数据是否为空
 */
StuInfoDlg.validate = function () {
    $('#stuInfoForm').data("bootstrapValidator").resetForm();
    $('#stuInfoForm').bootstrapValidator('validate');
    return $("#stuInfoForm").data('bootstrapValidator').isValid();
};

/**
 * 提交添加用户
 */
StuInfoDlg.addSubmit = function () {

    this.clearData();
    this.collectData();
    if($('#acts').val()=="")
    {
        Feng.error("请勾选活动！");
        return;
    }

    if (!this.validate()) {
        return;
    }

    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/stu/add_stu", function (data) {
        Feng.success("添加成功!");
        window.parent.Stu.table.refresh();
        StuInfoDlg.close();
    }, function (data) {
        Feng.error("添加失败!" + data.responseJSON.message + "!");
    });
    ajax.set(this.stuInfoData);
    ajax.start();
};
/**
 * 提交修改
 */
StuInfoDlg.editSubmit = function () {

    this.clearData();
    this.collectData();
    if($('#acts').val()=="")
    {
        Feng.error("请勾选活动！");
        return;
    }

    if (!this.validate()) {
        return;
    }

    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/stu/edit", function (data) {
        Feng.success("修改成功!");
        if (window.parent.Stu != undefined) {
            window.parent.Stu.table.refresh();
            StuInfoDlg.close();
        }
    }, function (data) {
        Feng.error("修改失败!" + data.responseJSON.message + "!");
    });
    ajax.set(this.stuInfoData);
    ajax.start();
};

$(function () {
    //日期初始化
    laydate.render({elem: '#grade',type: 'year'});
    //性别初始化
    $("#sex").val($("#sexValue").val());
    //初始化checked
    var chk_value=new Array();
    $('input[name="actCheck"]:checked').each(function(){
        chk_value.push($(this).val());
        $('#acts').val(chk_value);
    });

    Feng.initValidator("stuInfoForm", StuInfoDlg.validateFields);

    var $checkboxAll = $(".js-checkbox-all"),
        $checkbox = $("tbody").find("[type='checkbox']").not("[disabled]"),
        length = $checkbox.length,
        i=0;

//启动icheck
    $(("[type='checkbox']")).iCheck({
        checkboxClass: 'icheckbox_square-green',
        radioClass: 'iradio_square-green'
    });


//选中判断
    $checkbox.on('ifChecked', function(event){
        var val=event.target.value;
            chk_value.push(val);
            $('#acts').val(chk_value);
    });
    $checkbox.on('ifUnchecked', function(event){
        var val=event.target.value;
        for(var i=0; i<chk_value.length; i++) {
            if(chk_value[i] == val) {
                chk_value.splice(i, 1);
                break;
            }
        }
        $('#acts').val(chk_value);
    });


//全选checkbox
    $checkboxAll.on("ifClicked",function(event){
        if(event.target.checked){
            $checkbox.iCheck('uncheck');
            i=0;
        }else{
            $checkbox.iCheck('check');
            i=length;
        }
    });

    var a;

//监听计数  懒人建站http://www.51xuediannao.com/
    $checkbox.on('ifClicked',function(event){
        event.target.checked ? i-- : i++;
        if(i==length){
            $checkboxAll.iCheck('check');
        }else{
            $checkboxAll.iCheck('uncheck');
        }
    });



    // var ztree = new $ZTree("treeDemo", "/dept/tree");
    // ztree.bindOnClick(UserInfoDlg.onClickDept);
    // ztree.init();
    // instance = ztree;

    //初始化性别选项
    //$("#sex").val($("#sexValue").val());

    // // 初始化头像上传
    // var avatarUp = new $WebUpload("avatar");
    // avatarUp.setUploadBarId("progressBar");
    // avatarUp.init();

});